package com.jeesite.modules.mo.entity;

import javax.validation.constraints.Size;
import java.util.Date;
import com.jeesite.common.mybatis.annotation.JoinTable;
import com.jeesite.common.mybatis.annotation.JoinTable.Type;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;

/**
 * 用户提现Entity
 * @author 李寒冰
 * @version 2024-11-11
 */
@Table(name="mo_tixian_ali", alias="a", label="用户提现信息", columns={
		@Column(name="id", attrName="id", label="id", isPK=true),
		@Column(name="ali_order_id", attrName="aliOrderId", label="支付宝订单号"),
		@Column(name="pay_fund_order_id", attrName="payFundOrderId", label="支付宝支付资金流水号"),
		@Column(name="pay_date", attrName="payDate", label="支付完成时间", isUpdateForce=true),
		@Column(name="ali_status", attrName="aliStatus", label="支付宝转账单据状态"),
		@Column(name="commit_status", attrName="commitStatus", label="提交支付宝失败原因"),
		@Column(name="tixian_id", attrName="tixianId", label="提现订单号"),
	}, orderBy="a.id DESC"
)
public class MoTixianAli extends DataEntity<MoTixianAli> {
	
	private static final long serialVersionUID = 1L;
	private String aliOrderId;		// 支付宝订单号
	private String payFundOrderId;		// 支付宝支付资金流水号
	private Date payDate;		// 支付完成时间
	private String aliStatus;		// 支付宝转账单据状态
	private String commitStatus;		// 提交支付宝失败原因
	private String tixianId;		// 提现订单号

	public MoTixianAli() {
		this(null);
	}
	
	public MoTixianAli(String id){
		super(id);
	}
	
	public String getAliOrderId() {
		return aliOrderId;
	}

	public void setAliOrderId(String aliOrderId) {
		this.aliOrderId = aliOrderId;
	}
	
	@Size(min=0, max=50, message="支付宝支付资金流水号长度不能超过 50 个字符")
	public String getPayFundOrderId() {
		return payFundOrderId;
	}

	public void setPayFundOrderId(String payFundOrderId) {
		this.payFundOrderId = payFundOrderId;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getPayDate() {
		return payDate;
	}

	public void setPayDate(Date payDate) {
		this.payDate = payDate;
	}
	
	@Size(min=0, max=255, message="支付宝转账单据状态长度不能超过 255 个字符")
	public String getAliStatus() {
		return aliStatus;
	}

	public void setAliStatus(String aliStatus) {
		this.aliStatus = aliStatus;
	}
	
	@Size(min=0, max=255, message="提交支付宝失败原因长度不能超过 255 个字符")
	public String getCommitStatus() {
		return commitStatus;
	}

	public void setCommitStatus(String commitStatus) {
		this.commitStatus = commitStatus;
	}
	
	@Size(min=0, max=50, message="提现订单号长度不能超过 50 个字符")
	public String getTixianId() {
		return tixianId;
	}

	public void setTixianId(String tixianId) {
		this.tixianId = tixianId;
	}
	
}